/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package CapaDatos;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.SortedSet;


/**
 *
 * @author Maria
 * 
 */
public class ListaFormaDePago {
  /** lista que guarda las formas de pago**/
    private List <FormaPago> laFormaDePago;
    private SortedSet <FormaPago> nodoPago;

   /** constructor de la clase ListaFormaDePago**/
    public ListaFormaDePago()
    {
        laFormaDePago = new ArrayList();
    }

     /**
     * @return the laFormaDePago
     */
    public List<FormaPago> getLaFormaDePago() {
        return laFormaDePago;
    }

    /**
     *
     * @param elCheque objeto de tipo Cheque
     * @return la lista con el cheque incluido
     */
    public boolean agregarCheque(Cheque elCheque)
    {
        return getLaFormaDePago().add(elCheque);
    }

    /**
     *
     * @param laTarjeta objeto de tipo Tarjeta
     * @return la lista con la tarjeta incluida
     */
     public boolean agregarTarjeta(Tarjeta laTarjeta)
    {
       return getLaFormaDePago().add(laTarjeta);
    }

/**
 * firma para eliminar una forma de pago
 * @param laFormaPago objeto de tipo FormaPago
 * @return boolean, TRUE si se elimino exitosamente, FALSE si no se pudo eliminar
 */

    public boolean removerElemento(FormaPago laFormaPago)
    {
        boolean encontrado = false;
        FormaPago auxiliar = null;
        Iterator iterador = getLaFormaDePago().iterator();

        while (!encontrado && iterador.hasNext())
        {

            auxiliar = (FormaPago) iterador.next();
            if (laFormaPago.equals(auxiliar))
                encontrado = true;
        }

        if (encontrado)
        {
            if (getLaFormaDePago().remove(auxiliar))
                return true;
        }

        return false;
    }

   /**
    * firma para imprimir la forma de pago
    * @return string, con los datos de la forma de pago
    */

    public String imprimirColeccion()
    {
        int i;  String cadena = "";
        FormaPago registro;
        Object [] arreglo;
        arreglo = getLaFormaDePago().toArray();


        for(i=0 ; i<arreglo.length ; i++)
        {
            registro = (FormaPago) arreglo[i];
            cadena += registro.imprimirColeccion(registro);
            cadena += "\n\n";
        }
return cadena;
    }

}